Skip to content

Add Refund Guard - #245

Open
scravonix wants to merge 1 commit into
SteamClientHomebrew:mainfrom
scravonix:add-refund-guard-v1.0.0
Open

Add Refund Guard#245
scravonix wants to merge 1 commit into
SteamClientHomebrew:mainfrom
scravonix:add-refund-guard-v1.0.0

Conversation

@scravonix

@scravonix scravonix commented Sep 2, 2026

Copy link
Copy Markdown
status

Adds Refund Guard, a Millennium plugin that monitors recent Steam purchases for meaningful price drops and evaluates them separately against configurable refund-rule thresholds.

Refund Guard resolves the amount actually paid from Steam purchase history when an exact match can be established, detects edition/package purchases using active Steam license information, and avoids unsafe comparisons such as matching an edition purchase against a cheaper base-game price.

The plugin is intentionally conservative: it does not submit refunds automatically, does not guarantee refund eligibility, does not perform currency conversion, and treats uncertain standalone-DLC playtime evidence as uncertain rather than guessing.

Repository: scravonix/refund-guard
Release: v1.0.0

Task Checklist

Developer

  • I am the original author or an authorized maintainer of this plugin.
  • I have complied with all license requirements for the libraries used, including providing appropriate notices where necessary.
  • My plugin is fully open source and does not depend on any external paid services, except for widely trusted and well-known platforms. Additionally, neither I nor anyone associated with me profits from any such services.

Plugin Functionality

  • I have tested the plugin on both the Stable and Beta Steam update channels.
  • My plugin is unique, or provides additional or alternative functionality to plugins already on the store.

Backend Configuration

  • Yes: I use a standard Millennium Lua backend through the Starlight plugin system.
  • No: I do not use custom binaries or rely on other FOSS projects outside the standard Millennium/Starlight backend architecture.

Community Contribution

  • I have tested and left feedback on two other plugin pull requests.
  • I have added links to those feedback comments in this PR.

Testing Instructions

Refund Guard requires Millennium 3.4.1 or newer.

  1. Install Refund Guard and restart Steam if required.
  2. Open Millennium's Plugins interface and open Refund Guard's CONFIG page.
  3. Confirm the plugin initializes without a frontend/backend/API/schema compatibility error.
  4. Click SCAN NOW.
  5. Confirm the scan completes and recent eligible purchases are displayed.
  6. Verify that REFUND RULE CHECK and PRICE CHECK are presented separately.
  7. Confirm paid/current prices are only compared when a reliable matching price and currency are available.
  8. For edition/package purchases, verify that the plugin does not fall back to the cheaper base-game Store price.
  9. Verify OPEN STEAM SUPPORT opens Steam Support using native Steam navigation.
  10. Verify OPEN STORE opens the matching app/package Store page using native Steam navigation.
  11. Enable Automatic scanning and confirm a future automatic scan is scheduled.
  12. Confirm no notification is produced when there is no meaningful qualifying price drop.

Developer testing completed successfully on:

  • Steam Client Stable
  • Steam Client Beta

Observed during both Stable and Beta testing:

  • Backend/API/schema compatibility check passed.
  • Release self-check passed.
  • Manual scanning completed successfully.
  • Automatic scanning completed successfully.
  • Persisted state was saved successfully.
  • Steam Support navigation completed successfully.
  • Steam Store navigation completed successfully.
  • No compatibility mismatch, Lua error, frontend exception, or crash was observed.

Third-party verification

  • Verified by a third party on Steam Client Stable.
  • Verified by a third party on Steam Client Beta.

Additional Notes

Refund Guard does not automatically submit refund requests. Valve/Steam makes the final refund eligibility decision.

Steam authenticated purchase-history requests may use the Steam client's existing authenticated web session. Authentication cookie values are used only in memory for the request and are not logged or persisted by Refund Guard.

Refund Guard does not use external analytics or telemetry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant